Systems and methods for controlling and managing programming content and portions thereof

ABSTRACT

This document discloses systems and methods for enabling viewers to control and manage the presentation of programs based on specified types of rating categories and content attributes that the viewer desires not to be presented. The invention provides program data corresponding to each program. The data contains (1) time-varying information related to the content of discrete portions of the television program and, optionally, (2) corresponding data controlling the presentation of that content. By way of example, the program data includes rating and content attribute values as well as control data indicating to which media component the value applies or instructions corresponding to the ways in which each portion of the program may be disabled, modified, replaced, and/or edited. A set top box or other configured consumer electronics device combines the program data with data input by the user concerning the programming the user desires to disable and the methods therefor. Based on the program data and the viewer&#39;s presentation profile, the consumer electronic device controls whether and/or how each applicable portion or component of programming is presented to the viewer.

CROSS-REFERENCE TO RELATED APPLICATION

[0001] This application claims priority under U.S. law to provisionalU.S. patent applications serial No. 60/213,058, filed Jun. 21, 2000 andserial No. 60/214,529, filed Jun. 27, 2000, each of which applicationsare owned by the assignee of this application and each of whichapplications are incorporated in its entirety by this reference.

TECHNICAL FIELD

[0002] This invention generally relates to the field of programmingcontrol systems, and more particularly to systems and methods forallowing users to control and manage programming content. In oneimplementation, an application residing on a set-top box or otherconsumer electronic device, such as a television set, uses datasynchronized to a program to dynamically block or modify portions of theprogram's video or audio based on a user's parental control settings.

BACKGROUND OF INVENTION

[0003] With the increasing availability of television programming, cableservices, Internet programming, and other interactive entertainmentservices, there is an ever greater need for the ability to control andmanage content of programming. Users desire to be able to more easilyand effectively choose the types of television programs to which theyand/or their children are exposed.

[0004] In some existing “parental control systems,” such as thoseassociated with V-chip technology or Electronic Program Guides (EPGs),users may block all programs having particular ratings and contentattributes. For instance, a user may block all programs having a ratingof “TV-MA” (Mature) or all programs having the content attribute for“Violence.” When a program with blocked ratings or content attributesappears, both its video and audio are blocked for the entire duration ofthe program unless the user enters a personal identification number(PIN) to unblock it. With such existing systems, ratings and contentattributes are generalized for the entire program and rarely change. Asa result, blocking is an “all or nothing” affair because either all ofthe program is blocked or none of it is blocked. This is a disadvantageif the ratings or content attributes apply to only a small part of theentire program.

[0005] For instance, if a program contains a brief scene of nudity andthe user blocked all programs with “Nudity,” the entire program would beblocked even if the scene in question was only a few seconds in length.There would be no way to selectively block just that portion of theprogram. A good example of this is the movie “Titanic.” After Titanic'srelease, a small firm began editing from Titanic a love scene betweenthe two main characters. There was an enormous demand for this versionof Titanic among parents and other users who did not desire to see thatparticular scene, but did wish to view the other portions of the movie.

[0006] Even if parental control systems could block a portion of theprogram by briefly changing the program's ratings or content attributesor by changing the data being provided to the V-chip during a program,there would be no way to block just the video or just the audio portionof the program. For instance, if a program contained a few seconds ofadult language, the ratings and/or content attributes data would beunable to instruct the parental control system to block only the audiofor that period of time. As a result, both video and audio would alwaysbe blocked together.

[0007] Furthermore, existing parental control systems are also limitedto completely disabling the audio or video. In other words, existingparental control systems cannot modify the video or audio in any way.For instance, if a program contains adult language, the ratings/contentdata cannot instruct the parental control system to switch to analternative audio track containing a G-rated version of the dialog.

[0008] A better approach would be to make the ratings and/or contentdata vary during the course of the program. An even better approachwould be to provide additional data to indicate whether the video,audio, or both video and audio portion of the program should be blocked.Additionally, the data could indicate ways in which to modify the videoor audio portion of the program to make it acceptable for the currentparental control settings.

SUMMARY OF INVENTION

[0009] Certain terms used in this section are described more fullybelow, particularly in the “Terminology” session. The present inventionaddresses the problems discussed above by providing systems and methodsfor allowing users of programs to control and manage the ways in whichportions of the programs are presented. In general, this inventionprovides program users with program data for a program corresponding todiscrete portions of the program. The program data comprises (a) programcontent data, (b) program control data, or (c) both. The content datamay consist of rating values associated with categories in a ratingsystem and/or content attribute values indicating the existence ofpredefined attributes or traits associated with each discrete portion ofthe program. The program control data comprises information concerningthe media component (e.g., audio, video, text, hyperlinks, etc.) towhich the rating or content attribute applies. The program control datamay also contain control instructions corresponding to the ways in whicheach portion or media component of the program may be disabled,modified, replaced, and/or edited. These data are delivered to a set topbox or other consumer electronics (“CE”) device that couples to adisplay, like a television or monitor.

[0010] Users can enter into the CE device a presentation profile, bywhich a user specifies content the user does not wish to review orwishes to insert over existing content. For instance, the user mayselect certain types of rating categories and/or content attributes thatthe user desires not to be presented. Optimally, users may specify amethod for disabling, such as deleting, modifying, replacing, orediting, the portions of the program having the undesirable ratingand/or content attribute. Based on the program data associated with theprogram and the information contained in the user's presentationprofile, the CE device controls the programming presented for display.

[0011] For example, the program data is compared against thepresentation profile. When the presentation profile indicates deletionor editing of specific type material, and when the program dataindicates the presence of that material in a portion of the programming,that portion of the programming is modified accordingly. If the programdata contains a rating and/or content attribute listed in thepresentation profile, systems and methods according to the presentinvention perform any of the following functions: block video, blockaudio, block video and audio, block only a portion of the audio orvideo, substitute local audio, substitute local video, substitutealternative audio stream, substitute alternative video channel/stream,substitute alternative video and audio channel/stream, edit content,and/or delete content.

[0012] In one implementation, this invention uses streaming data ortimestamped data synchronized to a program to provide ratings and/orcontent attribute information that vary during the program. This data isused by applications residing on a set-top box or other CE device toblock or modify portions of a program's video or audio based on thesettings selected by the user. In addition to providing varying ratingsand/or content attribute information, the data may also include programcontrol data related to what component of the program to block, such asvideo only, audio only, or both video and audio. Additionally, this dataincludes instructions on possible ways to modify the content. Forexample, the data could instruct the application to do such things asswitch to an alternate audio track, switch to an alternate videochannel, or blackout a certain area of the screen. Alternatively, all ofthese different capabilities could be entered, enabled or disabled bythe user via the presentation profile or a control.

[0013] A further application of this invention is for Digital VideoRecorders (DVRs) or digital disk recorders. When outfitted with thisinvention, DVRs or the like are capable of dynamically editing anddeleting scenes based on the program data and the presentation profilecreated by a user.

[0014] This invention aims to achieve one, combinations, or all of thefollowing objectives:

[0015] To formulate program content data, associated with discreteportions of programming, which contains information related toprogramming content;

[0016] To formulate program control data, associated with discreteportions of programming, which contains information related to howprogramming may be edited, deleted, modified, substituted, or otherwisealtered;

[0017] To provide, via a set-top box or other appropriate consumerelectronic device, users with the content data, control data, or both;

[0018] To enable programming users to define those types of programmingand portions of programming they desire not to be presented; and

[0019] To enable users to change undesired types of programming andportions of programming by dialing, modifying, substituting, deleting,or editing such programming or portions thereof.

[0020] Other objects, advantages and features of this invention will beapparent from review of the remainder of this document, including thedrawings.

BRIEF DESCRIPTION OF DRAWINGS

[0021]FIG. 1 is a diagram illustrating an embodiment of a systemaccording to the present invention.

[0022]FIG. 2 is a diagram illustrating one potential format of aprogramming signal and corresponding program data according to anembodiment of the present invention.

[0023]FIG. 3 is a diagram illustrating another potential format of aprogramming signal and corresponding program data according to anembodiment of the present invention.

[0024]FIG. 4 illustrates an exemplary format for the data illustrated inFIGS. 2 and 3 according to an embodiment of the present invention.

[0025]FIG. 5 is a diagram illustrating a presentation control systemaccording to the present invention.

[0026]FIG. 6 is an exemplary menu screen of a program viewer interfaceaccording to the present invention.

[0027]FIG. 7 is an example of a presentation profile shown in FIG. 7according to the present invention.

[0028]FIG. 8 is a diagram illustrating an example of a program andcorresponding program data according to the present invention.

DETAILED DESCRIPTION

[0029] 1. Terminology:

[0030] Before further describing a particular implementation of thepresent invention that is shown in the drawings, the following terms areexplained, although more thorough understanding of the terms can bereached by resorting to this entire document. These term explanationsare not intended to be conclusive, as technology will change and skilledpersons will recognize other ways to implement the same functionality.

[0031] “Communications network” includes any network or infrastructurethat supports communications between multiple devices, includingbroadband distribution networks, public or private packet-switched orother data networks, including the Internet, or circuit-switchednetworks such as the public switched telephone network and wirelessnetworks.

[0032] “Consumer electronics device” or “CE device” is any electronicdevice or combination of devices capable of receiving, displaying,playing, presenting, recording, deleting, editing, substituting, ordisabling audio and/or video content. Exemplary CE devices include:televisions, personal computers, cable set-top boxes, video cassetterecorders, digital video recorders, digital video disc players, compactdisc players, and personal computers.

[0033] “Content data” is any information corresponding to at least aportion of a program and related to the content of the program,including content ratings and content attributes, traits, orcharacteristics.

[0034] “Control data” is any information corresponding to at least aportion of a program and related to the manner in which the portion maybe disabled, modified, replaced, deleted, edited, or otherwise modifiedby a CE device, set top box or the like.

[0035] “Presentation control system” is any device or combination ofdevices having (1) a receiver adapted to receive a program signal and(2) a processor for controlling the program to be displayed on aconsumer electronic device, including a set-top box, television, orpersonal computer.

[0036] “Program” or “Programming” is any electronic presentation ofinformation, such as text, audio, video, graphics, or any other form ofmultimedia, over a communications network. Exemplary programmingincludes: Internet programming, television broadcasts, cable televisionprogramming, pay-per-view programming, video-on-demand, interactivetelevision programming, satellite programming, and multimediapresentations.

[0037] “Program data” means content or control data or other dataassociated with or describing the content or manner of presentation ofprogramming.

[0038] “Presentation preferences” refers to information related to thetypes of program content that either a person desires not to view orthat a person desires to replace and/or the manner in which programs andportions of programs having this type of content may be disabled,modified, replaced, deleted, edited, or otherwise modified by a CEdevice.

[0039] “Service provider” is any entity that delivers programs to aprogram viewer, including cable providers, television broadcasters,satellite providers, and entities supporting Internet World Wide Web(“Web”) sites.

[0040] II. System Overview

[0041]FIG. 1 shows components of a system 10 for implementing anembodiment of this invention. A transmission facility 12, such as acable head end, is operated by a service provider and receives varioustypes of programming from data/content providers 14, which may providetraditional broadcast or cable television programming, video servicessuch as pay-per-view, near video-on-demand, video-on-demand, promotionalchannels, or interactive television services. Exemplary data/contentproviders 14 include BellSouth, (the assignee of this invention),Disney, Time-Warner, DirectTV, etc. In connection with the provision ofsome of these services, transmission facility 12 may also receiveelectronic program guide (EPG) data from data providers 16. A particularcontent provider 14, such as Disney, may also provide EPG data, thusacting as an EPG data provider 16. Also, EPG data provider 16 mayinclude companies that specialize in EPG data, such as Gemstar, UnitedVideo, Starsight, etc.

[0042] Transmission facility 12 processes the programming furnished bydata/content providers 14 and 16 and provides to program viewers 18 asignal 13 over a communications network 15, which may be a broadbanddistribution network, a public or private packet-switched or other datanetworks (including the Internet), circuit switched networks such as thepublic switched telephone network, wireless networks, or any otherdesired communications network. Transmission facility 12 may comprise aplurality of servers, such as broadcast server 19, video server 20, EPGdata server 22, and program data server 24, for providing multiple typesof programming and related data via signal 13. Program viewers 18receive programming at a presentation control system 26, which may be astandard set top box, a properly programmed processor, coupled to adisplay, a consumer electronic device, or any other device adapted tocouple to communications network 15. Control system 26 includes, orcouples to, a receiver (such as receiver 56 shown in FIG. 5) forreceiving and decoding signal 13 and a processor for controlling theprogram content to be displayed on devices such as television 28,personal computer 34 or any other suitable display device.

[0043] Presentation control system 26 may be a stand alone system thatcommunicates with a display device and other consumer electronic devicesor may be combined with the display device and/or any other suitable CEdevice in one device. In accordance with the present invention,presentation control system 26 also may receive a presentation profile35 from program viewers 18. Based on presentation profile 35 and programdata 36 received from transmission facility 12, the presentation controlsystem 26 manages and controls the presentation of program content byinteracting with video cassette recorder (VCR) 30, digital videorecorder (DVR) 32, personal computer 34, or any other suitable CEdevice.

[0044] As shown in FIG. 2, signal 13 carries multiple channels 38, eachoccupying a different portion of a frequency spectrum of signal 13.Transmission facility 12 may provide program viewers 18 with differentprograms 40 throughout the day on each channel 38. Each program 40 maybe divided into multiple consecutive data frames 42, each of whichcontains all of the data related to the presentation of program 40 for aparticular time interval.

[0045] In addition to providing program viewers 18 with program data 42for each program 40, transmission facility 12 also provides programviewers 18 with program data 36 for each program 40. Data 36 isinformation associated with program data 42 comprising program contentdata, program control data, or both. As shown in FIG. 2, data 36 may bedivided into multiple consecutive data frames 54 corresponding to dataframes 42 of program 40. Program content data may be information relatedto rating and/or content attributes, such as MPAA ratings, TV ParentalGuidelines ratings, or any other rating system. Program control data maybe information related to the manner in which program data 42 may beedited, substituted, deleted, or otherwise altered. For instance, insituations where program data 42 may be substituted, program controldata may contain information about other channels or streams or otherlocations where replacement program data are present.

[0046] As will be described in more detail below, program viewers 18 mayuse the information contained in data 36 about programs 40 to controland manage which programs are presented, which portions of programs arepresented, and which media components are presented. Data 36 may also beused to control and manage the manner in which programs, portions ofprograms, and media components of programs and portions of programs areedited, substituted, deleted, or otherwise altered based on theinformation in data 36 and/or viewer preferences.

[0047] III. Formulation and Delivery of Data:

[0048] In accordance with the systems and methods of the presentinvention, data 36 associated with program data 42 for programs 40 maybe formulated by a number of entities. For instance, programmingproducers may formulate data 36 while producing programming.Alternatively, data 36 may be formulated by data/content providers 14,EPG data providers 16, by the entity supporting transmission facility12, or by any other entity that has access to programming. An example ofa method of formulating alternative programming is one which uses theInternet. Thus, a studio may release a portion or all of a story-linefor a series on the Internet and allow users there to “vote” or suggestendings or twists in the plot line. Either before or after receivingsuch input, the studio may film the most popular of the suggestions andembed these alternative programs into other channels. If thealternatives are filmed first and then selected by viewers of theInternet sight via voting or similar feedback, the site can be linked tothe transmission facility and, following tabulation of viewer feedback,the site can automatically instruct the transmission facility to load aparticular alternative track. Ultimately, such viewer feed back may bedone in real time or virtual real time.

[0049] Program data 36 may be provided using many possible data deliverymethods, as skilled persons will recognize. The following detailsseveral exemplary delivery methods:

[0050] Timestamped Delivery: Data 36 may be provided using a timestampeddata delivery approach. This approach delivers all data 36 for an entireprogram either before the program begins or when the user tunes to theprogram. Timestamps are used to associate particular ratings and/orcontent attributes data to particular portions of the program. Ideally,this approach works best when presentation control system 26 has orcouples to an internal clock that synchronizes to a network clock toassure accurate synchronization of data 36 to the program content.

[0051] Batch EPG Delivery: Data used by existing EPGs is often deliveredall at once, for example as a batch transmission. A similar approach canbe used by which existing EPG data is supplemented with program data 36.Specifically, as shown in FIG. 1, an EPG data server 22 may receive data36 from an EPG data provider 16. Alternatively, the data provided by theEPG data server 22 may be enhanced by the addition of data provided by aprogram data server 26. The transmission facility 12 delivers theresulting data through the distribution network 15 to presentationcontrol system 26 or consumer electronic device 28, 20, 32, or 34.

[0052] Streaming Delivery: Data 36 may also be provided using astreaming delivery method. This approach delivers program content dataand program control data in real-time along with the program's video andaudio content. There is no need for timestamps or clock synchronizationsince the data delivery is synchronized to the showing of the program.Methods of delivering streaming data include an MPEG private data streamor data insertion into the program's VBI (vertical blanking interval)line.

[0053] An advantage of this approach over the timestamped approachdescribed above is that it is not effected by delays in the videocontent. For example, if a program is delayed because a sporting eventthat precedes it goes into overtime, the program's timestamped data mayno longer be accurate since it was downloaded ahead of time and assumedthe program began at a certain time. Program viewer 18 may tune to theprogram while in progress.

[0054] Data 36 would have to be repeatedly retransmitted during theperiod for which it was valid because presentation control system 26 orconsumer electronic device 28, 30, 32, or 34 may not know what the lastdata values were when tuning to a program. Ideally, the retransmissioninterval should not be more than once a second.

[0055] Regardless of the delivery vehicle, in operation, program viewers18 receive signal 13 and data 36 from transmission facility 12. Asdescribed above, data 36 may be included within signal 13 as anotherchannel within the frequency spectrum or may be received as anindependent data stream or as a periodic download. In situations wheredata 36 is received in the form of a periodic download before programsare viewed, data 36 may be stored in memory by system 26. In alternativeembodiments, data 36 may be supplied to program viewers 18 as part of abroadcast television signal in the vertical blinking interval. Data 36may also be supplied by other service providers using communicationsnetwork 15 or any other suitable communications network. Data 36 mayalso be received via any public or private packet-switched or other datanetworks including the Internet, circuit switched networks such as thepublic switched telephone network, wireless networks, or any otherdesired communications infrastructure.

[0056] IV. Data Formatting

[0057] Skilled persons will recognize several methods of formattingprogram content and control data. Co-pending application serial No.60/231,180 discloses certain methods for formatting data tags into EPGdata. Other methods are described below.

[0058] Data 36 provides program viewers 18 continuous informationrelated to the content of programs 42 throughout the entirepresentation. As shown in FIG. 4, data 36 may have a data structurecomprising:

[0059] (1) program content parameters, such as: timestamp 44, rating 46,content attribute 48, program component 50, and any other suitableparameter for identifying the content of program data 42 and

[0060] (2) program control parameters, such as: control instruction oraction 52 or any other suitable parameter associated with the manner inwhich program data 42 may be edited, substituted, deleted, or otherwisealtered.

[0061] Timestamp 44 associates program content and program control datawith a particular time interval within a program 40. The time intervalmay be represented as an offset from the start of program 40 and may beexpressed in hours, minutes, and seconds or in any smaller unit of time,such as the length of a video frame.

[0062] The remaining parameters are used to define desirable control andmanagement parameters for the corresponding time interval. For example,rating 46 may be a value associated with a ratings system, such as theTV Parental Guidelines ratings system, the MPAA ratings system, or anyother standard ratings systems. Alternatively, rating 46 may be valuesassociated with multiple ratings systems. Content attributes 48 may be avalue associated with a trait or attribute of program 40. Contentattribute 48 may be based on the content rating system employed by theTV Parental Guidelines or MPAA rating system. Content attribute 48 maybe a value indicating the existence of certain attributes or traits in aparticular time interval of program 40, such as violence (V), sexualsituations (S), coarse or crude indecent language (L), suggestivedialogue (D), fantasy violence (FV), or any other defined attribute ortrait. A better approach than using the fairly simplistic contentattributes associated with the existing TV ratings system (L, V, FV, S,D) would be to use a system that assigns numeric values to each of thecontent attributes depending on the degree of attributes present. Forexample, Violence (V) could be rated on a scale of 1-5 during the courseof a program. Such ratings provide viewers with finer control over thelevel of violence blocked or modified. Program components 50 may be usedto identify the media component of program rating 46 and/or contentattribute 48 apply. For example, program component 50 may indicate thatrating 46 or content attribute 48 apply only to the video component,only the audio component, or both the video and audio components.Program component 50 may also be used where program 40 contains multipleaudio and/or video streams within the same channel 38, in which case thedata may indicate to which stream or streams rating 46 or contentattribute 48 apply. Program control parameters, such as controlinstructions or actions 52, may be a value associated with the variousways in which program 40 may be blocked, disabled, modified, replaced,and/or edited. For instance, the following table I illustrates anexample of possible control instructions and their correspondingfunctions supported by data 36. TABLE I Program Control Data ControlValue Control Function BV block video BA block audio BVA block video andaudio BP block only a portion of the video display SLA substitute localaudio SLV substitute local video SAS substitute alternative audio streamSVC substitute alternative video channel/stream SAVC substitutealternative video and audio channel/stream DS delete scene SS substitutedifferent scene

[0063] As shown in FIG. 2, data 36 may also be presented as atimestamped variance from a default setting. Data 36 may associateprogram 40 with a standard default setting, which is the same for alltypes of programs 40. Accordingly, only those portions of program 40that vary from the default setting need to be assigned program contentand control data. For example, the default setting may refer to programsthat do not have any undesirable content and/or attributes. Using thismethod, data 36 need only contain information for those time intervalsof program 40 that contain content and/or attributes that differ fromthe default setting and may reduce the amount of information in data 36.

[0064] As shown in FIG. 2, data 36 may also be delivered to programviewers 18 in real-time along with program 40. In this implementation,data 36 does not have to include information related to the timeinterval within program 40 because the two parallel streams aresynchronized. Data 36 may comprise a plurality (e.g., more than two) ofdata frames 54, each corresponding to a discrete time interval ofprogram 40. In this embodiment, data frames 54 may be synchronized withdata frames 42 in program 40 such that the time interval associated witheach is equal. Alternatively, the time interval associated with controldata frames 54 may vary from that of data frames.

[0065] V. Exemplary Data Format

[0066] An example of a possible data format for dynamic ratings andcontent attributes is shown below in Table II. TABLE II DEFAULT[rating1,rating2, . . . ];[,content1,content2, . . . ] Timestamp[rating1,rating2, . . . ];[,content1,content2, . . . ] [component][action] Timestamp [rating1,rating2, . . . ];[,content1,content2, . . .] [component] [action] . . .

[0067] In this example: DEFAULT indicates a set of overall ratings andcontent attributes for the program. These overall ratings and contentattributes would be similar to the ones already provided by manyexisting EPGs and other parental control systems.

[0068] “Rating” is a value associated with a ratings system such as theTV rating system or MPM rating system. However, other rating systems arepossible and could be used. A program could have ratings from more thanone rating system. Also, the program's rating value for a particularrating system could be missing or NULL since not all programs are rated.

[0069] “Content” is a value associated with a content attribute system(the word “traits” is sometimes used instead of “content”) such as theones associated with the TV rating system (V,S,L,D,FV) or MPAA ratingsystem (e.g. Nudity, Violence, etc.). However, other content attributeschemes (such as the multi-level scheme proposed above) are possible andcould be used. A program could have multiple content attributes frommultiple content attribute systems.

[0070] “Timestamp” indicates when the associated ratings, contentattributes, and actions begin. Ideally, the timestamp should be anoffset from the start of the program. The timestamp could be expressedin hours, minutes and seconds (e.g. hh:mm:ss). A way should exist tosubdivide seconds into a smaller unit of time such as frames ({fraction(1/30)} second).

[0071] “Component” refers to the part of the program to which theratings and content attributes apply, such as audio, video, or both.“Component” may also refer to substitute channels, streams, or otherlocations of substitute audio and/or video. If a component value is notspecified, both video and audio are assumed.

[0072] “Action” indicates ways in which the program could be modified tonullify the portion of the program with the given ratings and/or contentattributes. For instance, an action could instruct the presentationcontrol system 26 to perform any of the functions described above inTable I.

[0073] Table IIII illustrates how this data format could be used todeliver program data 36 using the timestamped delivery approachdescribed above. This example uses the existing MPAA ratings system(G,PG,PG-13,R,NC-17) and the content attributes associated with the TVratings system (L=Language, V=Violence, S=sexual situations,D=suggestive dialog, FV=fantasy violence). TABLE III Example of ProgramData 36 DEFAULT R; L,V,S 00:00:00:00 G 00:11:15:02 R; L audio changeto14 00:11:16:11 G 00:24:45:00 R; V,S 00:24:45:30 PG-13; V video00:24:46:00 G 00:32:01:00 R; S video mosaic 20,100,30,150 00:32:05:00 G. . .

[0074] Table III shows where the content data has been formulated into aseries of data records, each record associated with a particular portionof the programming. Thus, in this example:

[0075] “TV-MA;L,V,S” are the default ratings and content attributes forthe entire program. These are similar to existing rating systems thatuse generalized ratings and content attributes for the entire program.

[0076] “00:00:00:00 G” is the first timestamp offset and first ratingfor the program. These values indicate that at the start of the program,the program contains material rated G and there are no contentattributes present. If no ratings/content values are specified for thebeginning of the program, the default ratings/content values should beused.

[0077] “00:11:15:02 R; L audio changeto 14” is the second timestampoffset. These values indicate that 11 minutes, 15 seconds, and 2 framesfrom the start of the program, the programs rating has changed to “R”and the show now has a content attribute “L” which indicates coarse“Language”. The “audio” value indicates that the rating is onlyassociated with the audio portion of the program. “Changeto 14”indicates that an alternative audio track exists for that portion of thedialog. For the purposes of this example, assume that a character in theprogram has uttered a brief vulgarity. In this case, at the offsetshown, presentation control system 36 may switch to an alternative audiotrack if the ratings and content attributes equal or exceed thoseindicated by the user's parental control settings. At the nexttimestamp, presentation control system 26 would reset the audio settingsto those indicated by the next ratings/content data.

[0078] “00:11:16:11 G” indicates that the rating is back to G. Anyblocking that resulted from the previous timestamp can be reset. Usingthe example above, the character has stopped uttering the vulgarity andthe audio can be returned to normal.

[0079] “00:24:45:00 R; V,S” indicates that the rating has changed to Rand there is now “Violence” and “Sexual Situations”. The lack of anycomponent value or action value indicates that both video and audioshould be blocked (disabled) if the ratings/content values equal orexceed the user's parental control settings.

[0080] “00:24:45:30 PG-13; V video” indicates that the rating haschanged to PG-13 and there is now only Violence (V). The SexualSituations (S) have stopped.

[0081] The “video” component value indicates that video should beblocked if the ratings/content values equal or exceed the user'sparental control settings.

[0082] “00:24:46:00 G” indicates that the rating has returned to G. Turnoff any blocking or modifications that resulted from the previoustimestamp.

[0083] “00:32:01:00 R; S video mosaic 20,100,30,150” indicates that therating is now R and there is a sexual situation (S). Let's assume thereis some nudity on the screen. The component “video” indicates that onlythe video should be effected and the action “mosaic 20,100,30,150”indicates a mosaic effect may be used to blur the screen at theindicated coordinates.

[0084] “00:32:05:00 G” indicates that the rating is back to G. Turn offany blocking or modifications that resulted from the previous timestamp.

[0085] In the above example, if the streaming delivery approach wasused, the “Timestamp” attribute would not be needed. As shown in FIG. 3,program data 36 would have to be retransmitted at some interval whilethe data is valid to accommodate users who tuned to a program inprogress. Delivered data can also be buffered for retrieval.

[0086] If program data 36 is batch delivered to presentation controlsystem 26, an applet at the CE device or set top box associated with theuser's display device may scan all of data 36 in advance to determinehow often blocking would occur during the program. If implementing theuser's presentation profile 35 based on the received program data 36would cause an unacceptably high amount of blocking or modification(e.g., in terms of amount of time program is blocked or percentage ofprogram blocked), the entire program could be blocked or the userinformed and allowed to change the rating. The user may select thethreshold at which this decision is made as part of the user's input ofpresentation profile 35 data.

[0087] VI. Viewer Presentation Profile

[0088] With reference to FIG. 6, system 26 may include a viewerinterface by which viewer 18 inputs a presentation profile 35 containinginstructions for controlling programming to be displayed and the formatthereof. The presentation profile 35 that viewers may create allows moreflexibility in using system 26 for controlling and managing programming.Viewer interface 58 and a template 59 allow viewers to enter data storedin a profile 35 that then operates with application program 60. Theviewer interface 58 may be a standard remote control, a wired orwireless keyboard, control buttons on the CE device implementing system26, infrared port, PDA port or other suitable communication device forcommunicating commands to the application program 60. By these viewerinterface 58 devices or software, such as a viewer interface applet orthe like, viewers can input information, such as information called forby template 59, into the CE device so that application 60 can populate amemory or other storage device with the users' presentation profile 35.Application program 60 enables program viewers 18 to interact with thetemplate 59 and television 28 using a standard menu system to populatethe presentation profile 35 with the appropriate data.

[0089] For instance, viewer 18 may configure system 26 permanently ortemporarily to disable certain channels 38 in order to block undesiredprogramming. In other words, application 60 running on a set top box orother CE device allows the user to turn parental controls on or off andindicate what ratings or content should trigger those controls. Forexample, if the user set the ratings level to R, all material with arating of R or higher would be blocked or modified, as depicted in TableIV below TABLE IV MPAA Rating Status X BLOCKED NC-17 BLOCKED R BLOCKEDPG-13 Open PG Open G Open

[0090] In addition to ratings, however, users may modify discreteprogramming portions having certain attributes. For example, if contentattributes associated with the TV ratings system were used, viewers mayindicate which of the following content attributes should be blocked ormodified, as per Table V below in which the user blocks “SexualSituations”, “Suggestive Dialog” and “Language” content. TABLE V TVContent Status V (Violence) L (Language) BLOCKED S (Sexual Situations)BLOCKED D (Suggestive Dialog) BLOCKED FV (Fantasy Violence)

[0091] Additionally, the system offers users the ability to blockratings or content attributes in several different ways. Specifically,the user could choose from the following blocking options for eachrating level and content attribute:

[0092] Block the Entire Program. This would allow the user to usetraditional parental blocking where the entire program is blocked if theoverall (DEFAULT) rating or content attributes equal or exceed those setby the user. In this case, the dynamic ratings/content data would haveno effect, only the DEFAULT ratings/content data would be used.

[0093] Block Portions. This would use dynamic ratings/content data toblock video or audio that equals or exceeds the corresponding parentalcontrol settings. The DEFAULT ratings/content information would not beused, unless the dynamic ratings/content data was missing. With thisoption, modification of the program's content would not be allowed andany instructions to modify the program would be interpreted as aninstruction to block the video or audio.

[0094] Block or Modify Portions. This would allow portions of theprogram's video or audio to be blocked or modified as indicated by theprogram's ratings/content data. The DEFAULT ratings/content informationwould not be used, unless the dynamic ratings/content data was missing.

[0095] These options could be applied to individual ratings and contentattributes. For example, the user could set blocking for contentattributes as shown in Table VI: TABLE VI TV Content Status V (Violence)L (Language) BLOCK OR MODIFY PORTIONS S (Sexual Situations) BLOCK ENTIREPROGRAM D (Suggestive Dialog) BLOCK PORTIONS FV (Fantasy Violence)

[0096] In this example, a program that had any sexual situations (asindicated by the overall ratings/content data) would be blocked in itsentirety. Portions of the program with suggestive dialog (S) would beblocked, and portions of the program with language (L) would be blockedor modified.

[0097] Table VII below shows a further example using a different, MPMratings system: TABLE VII MPAA Rating Status X BLOCK ENTIRE PROGRAMNC-17 BLOCK ENTIRE PROGRAM R BLOCK OR MODIFY PORTIONS PG-13 PG G

[0098] Even more detailed parental control settings are possible. Forinstance, viewer 18 could choose to allow audio to be modified but notvideo, forcing video to always be blocked. Or, viewer 18 may select anyof the following disabling methods: complete block, partial block,substitution from local device, substitution from service provider(alternate channel), and substitution from service provider (alternatestream), and local edit.

[0099] In yet another aspect of this invention, viewers may addadditional, demographic data to their presentation profile. The viewermay indicate the viewer's household income, number of children, ages,gender, etc. This demographic data, as explained in applicant'sconcurrently filed application entitled, “Methods for DisplayingProgramming Content Based on User's Demographic Data, Usage Data and/orCommands,” which application is hereby incorporated in its entirety bythis reference, may be used by an applet running on the viewer's system26 to select a particular program or advertisement targeted to viewerswith a predetermined demographic profile.

[0100] VI. Use of Program Data

[0101]FIG. 5 shows at least portions of a system 26 for controlling andmanaging the presentation of programming received via signal 13 based ondata 36. The consumer electronics device that resides in a viewer's homeand implements the system 26 can be provided with a blocking processor66 adapted to communicate with a memory 62, a demultiplexer 64, and acontrol processor 68. Skilled persons will recognize that processors 66,68 can be actual microprocessors or simply different portions of asingle processor devoted to different tasks. Processor 68 (1) controlsvarious components like tuner 64, blocking processor 66, signalprocessor 70 and (2) communicates with one or more consumer electronicdevices, such as VCR 30, DVR 32, personal computer 34, or any othersuitable consumer electronics or home theater and/or entertainmentdevice. An output signal processor 70 outputs video and audio signals totelevision 28 or any other suitable display device. Skilled persons willrecognize that these hardware components—which could be combined intoone component—may be found in or added to traditional set-top boxes orconsumer electronic devices and need merely be reprogrammed with thefunctionality described herein.

[0102] In any event, in controlling programming content, system 26 actson (1) program data 36 that has both content and control data, (2)presentation profile 35, or (3) a combination of the program data 36 andpresentation profile 35. Examples of each of these are given below:

[0103] A. Filtering Operations

[0104] Data 36 is received at the control system 26. A processor, e.g.,blocking processor 66, accesses profile 35 from a memory 62 and combinesit with data 36 to determine if and how program 40 should be presented.As seen in FIGS. 7 and 8, for each time interval of program 40, blockingprocessor 66 compares data 36 against profile 35 and acts as needed. Asdescribed above in detail, data 36 contains information for each timeinterval of program 40 related to various presentation control andmanagement parameters, such as rating 46, content attribute 48, programcomponent 50, control instruction 52. Profile 35 contains a list ofrating/content attributes 74 that viewer 18 does not want to bepresented and the corresponding disabling method 76.

[0105] For example, referring to FIGS. 4 and 7, a blocking processor 66compares rating 46 and content attribute 48 values in data 36 with therating/content attributes 74 in profile 35. If data 36 does not containany rating/content attributes listed in profile 35, blocking processor66 does not send any control instructions to control processor 68. Underthese circumstances, control processor 68 then forwards channel 38 fromdemultiplexer 64 to output processor 70 where it may be presented ontelevision 28. On the other hand, if data 36 contains a rating/contentattribute listed in profile 35, blocking processor 66 then determinesapplicable instruction 76. Depending on the particular combination ofprogram component 50 values in data 36 and disabling method listed inprofile 35, blocking processor 66 may send any of the controlinstructions 52 mentioned above and shown in Table I to controlprocessor 68. Implementation or exemplary instructions is describedbelow:

[0106] Blocking processor 66 sends “block video” control instruction ifviewer 18 selects the “partial block” disabling method per instruction76 and program component 50 is “video.”

[0107] Blocking processor 66 sends a “block audio” control instructionif viewer 18 selects the “partial block” disabling method perinstruction 76 and program component 50 is “audio.”

[0108] Blocking processor 66 sends a “block video and audio” controlinstruction if viewer 18 selects the “complete block” disabling methodper instruction 76 regardless of the program component 50.

[0109] In response to any of these instructions from blocking processor66, control processor 68 performs the appropriate signal processing toedit the signal in channel 38 received from demultiplexer 64 and thenforward the edited signal to output processor 70 for presentation ontelevision 28.

[0110] B. Editing Operations

[0111] In accordance this invention, programming may also be dynamicallyedited based on the viewer's presentation profile 35. For instance,blocking processor 66 sends a “block portion of video” controlinstruction if viewer 18 selects the “partial block” disabling method 76and program component 50 is “video.” Thereafter, processor 68 may modifythe signal in order to blank or blur the affected portion of the videodisplay or may overlay the affected portion with any desirable text orother message. After completing signal processing, control processor 68forwards the signal to output processor 70 for presentation ontelevision 28.

[0112] Alternatively, other programming content, ranging from audio, tovideo, to Web pages or combinations thereof, may be substituted for theundesired programming portion. For instance, blocking processor 66 sendsa “substitute local audio” control instruction if viewer 18 or thetransmission facility 12 has selected the “substitution from localdevice” disabling method per instruction 76 and program component 50 is“audio.” In response to this instruction from blocking processor 66,control processor 68 performs the appropriate signal processing to blockthe audio component of channel 38 received from demultiplexer 64.Control processor 68 then initiates a communications link with (a) adifferent channel having the substitute audio or (b) the desired localdevice, such as memory 62, DVR 32, VCR 30, personal computer 34, or anyother suitable device capable of providing audio, from which thesubstitute audio is to be received. After receiving the substituteaudio, control processor 68 performs the appropriate signal processingto combine the substitute audio with channel 38 and then forwards thecombined signal to output processor 70 for presentation on television28.

[0113] Other commands such as substitute video, substitute local video,substitute video from memory 62, switch channel, display Web page, etc.may be implemented by the processors 66, 68 in similar fashion. Notethat alternate content may be provided from transmission facility 12 aspart of the original signal 13, either in the form of alternate channels38 or alternate streams within a channel 38. Program 40 on channel 38may comprise a plurality of audio streams and a plurality of videostreams, as well as a plurality of alternate audio streams and aplurality of alternate video streams. In this way, there may be analternate stream according to each rating/content attribute category. Inthese situations, the transmission facility 12 includes within the data36 information concerning the channel or URL to which the system 26should tune for the alternate content. Alternatively, the alternatecontent may also be provided by a service provider other than theservice provider supplying signal 13.

[0114] Referring to FIGS. 8 and 9, the systems and methods of thepresent invention will now be described with reference to a particularexample. Suppose a particular viewer desires to view a program 40containing the movie Titanic. As shown in FIG. 9, suppose the viewer hasconfigured a profile 35 to completely block any programming content orportions of programming content containing nudity or associated with arating of R or X and to perform a local edit for portions of programmingcontent rated PG-13 and containing sexual situations. Also, as shown inFIG. 8, suppose the movie Titanic has been divided into multipleconsecutive data frames 42 for each discrete time interval for theduration of the movie.

[0115] Recall from above, the movie Titanic would have been rated PGexcept for the short love scene between the two main characters. Thus,prior to the present invention, a viewer that desired not to viewprogramming rated PG-13 would not have been able to view any portion ofTitanic. The present invention solves this problem. For example, in thepresent invention data 36 associated with each portion of Titanic isalso provided to the viewer. Data 36 comprises rating data, contentattribute data, and control instructions. As shown in FIG. 9, each dataframe associated with Titanic was rated PG and had a general contentrating except for the data frame associated with the love scene. Thisdata frame was rated PG-13 because of the sexual situation. In thiscircumstance, where profile 35 was configured to perform a local edit oncontent rated PG-13 and containing sexual situations, the systems andmethods of the present invention enable the program viewer to view eachportion of the movie except the portion rated PG-13 and containing thesexual situation. In addition, because profile 35 was configured for“local edit”, the systems and methods of the present invention enablethe program viewer to edit out the undesirable portion using DVR 32.

[0116] VII. Other Features and Embodiments:

[0117] Other features may be programmed into the control system 26 thatmay reside on the CE device or set top box coupled to a display device.For instance, it may not be immediately apparent to viewers whether thecontrol system 26 is in effect when they initiate the display device andtune to a program. On screen indicators may be used to indicate thestatus of the controls (e.g., an icon may display or a message like “Allprogramming with ratings above PG-13 have been blocked.”). Likewise,during modification of the programming content, an icon may indicate tothe user that the content has been edited or deleted.

[0118] PIN entry or other security protocols can be implemented bysystem 26 to allow valid users to initiate, modify or disable thecontrols. Correct PIN entry shows the programming in its unmodifiedform. Programming controls can be reinstated when the user tunes toanother channel or turns off the Set Top Box or CE device.

[0119] While this invention has been described in conjunction withspecific embodiments, it is evident that many alternatives,modifications, and variations will be apparent to those skilled in theart. Accordingly, the preferred embodiments of the present inventiondescribed are intended to be illustrative and not limiting. Variouschanges may be made without departing from the true spirit and fullscope of the invention as defined in the following claims.

What is claimed is:
 1. A system for controlling and managingpresentation to viewers of television, cable, satellite, Internet,broadcast or other programming content, the system comprising: a. areceiver adapted to receive a signal corresponding to a program and dataassociated with at least a first portion of the program, the datacomprising (1) content data, (2) control data, or (3) both; b. a viewerinterface adapted to receive information related to program presentationpreferences of a viewer; and c. a processor adapted (1) to modify thecontent of at least the first portion of the program based on the dataand program presentation preferences and (2) to output the modifiedfirst portion for presentation on a display device with the remainder ofthe program.
 2. The system of claim 1 wherein the processor is furtheradapted to modify the first portion by blocking an audio, video or textcomponent of the program.
 3. The system of claim 1 wherein the processoris further adapted to delete the first portion.
 4. The system of claim 1wherein the processor is further adapted to substitute alternateprogramming for at least the first portion.
 5. The system of claim 4wherein the signal carries the alternate programming via a channelcomprising programming having audio, video or both audio and videocomponents.
 6. The system of claim 1 wherein the viewer interfacecomprises an applet adapted to run on a consumer electronic devicecoupled to or incorporating the processor, wherein the applet causes thedisplay device to show the viewer interface by which the user inputspresentation preferences.
 7. The system of claim 1 wherein the viewerinterface comprises a wireless remote control device that communicateswith the processor and a memory associated with the processor.
 8. Thesystem of claim 7 wherein the processor is adapted to replace the firstportion with alternate programming.
 9. The system of claim 8 furthercomprising an external device, adapted to communicate with theprocessor, the external device selected from the group consisting of amemory, a DVR, a VCR, an Internet browser, a tuner for tuning within thesignal to a second channel having an alternative audio or videocomponent.
 10. The system of claim 1 further comprising a transmissionfacility for formatting the programming, wherein the transmissionfacility comprises: a program server for providing programming contentand a data server for providing 1) content, 2) control data or 3) bothcontent and control data associated with multiple discrete portions ofthe programming content.
 11. A method for controlling and managingpresentation of programs and portions thereof, comprising: a. receivinga program; b. receiving data associated with the program, wherein thedata comprises (1) content data, (2) control data, or (3) both contentand control data; c. receiving information related to the programpresentation preferences of a program viewer; d. modifying the contentof at least a portion of the program based on 1) the data associatedwith the program and 2) the program presentation preferences of theprogram viewer; and e. displaying the modified content.
 12. The methodof claim 11 wherein modifying the content comprises blocking the portionof the program.
 13. The method of claim 12 wherein modifying the contentcomprises blocking either an audio or video component of the portion ofthe program.
 14. The method of claim 11 further comprising replacing (1)the at least a portion of the program and (2) a second portion of theprogram with alternate programming.
 15. The method of claim 14 whereinthe alternate programming comprises an alternate audio or video trackcontained on a separate channel.
 16. The method of claim 11 furthercomprising displaying indicia to viewers to indicate (a) whether theportion of the programming will be modified or (b) each portion of theprogramming that has been modified.
 17. The method of claim 11 wherein,before modifying the content, the method determines whether the portionto be modified exceeds a selected threshold percentage of the program.18. A method of formulating programming and data describing theprogramming for delivery to viewers over a communications network, themethod comprising: a. receiving a program; b. associating with each ofmultiple, discrete segments of the program a data record comprising (1)content data, (2) control data, or (3) both content and control data;and c. delivering the program and the data record either (1) to atransmission facility for forwarding to viewers over the communicationsnetwork or (2) directly to a consumer electric device associated with adisplay for showing programming to the viewer.
 19. The method of claim18 wherein the content data comprises information related to (1) arating category, (2) a content attribute, or (3) both a rating categoryand content attribute.
 20. The method of claim 19 wherein the contentdata further comprises information related to a predefined level of thecontent attribute.
 21. The method of claim 18 wherein the control datacomprises information indicating whether the content data applies to anaudio, video, or text component of each segment of the portions of theprogram.
 22. The method of claim 18 wherein the control data comprisescontrol signals by which at least one component of one segment may bemodified based on the content data.
 23. The method of claim 22 whereinthe control signals are selected from the group consisting of (1) blockvideo, (2) block audio, (3) block video and audio, (4) block only anarea of the video, (5) substitute local audio, (6) substitute localvideo, (7) substitute alternative audio stream, (8) substitute fromalternative video channel, (9) substitute alternative video and audiochannel, (10) delete, and (11) substitute alternative programming fromexternal device.
 24. A method for providing dynamic user control overprogramming delivered via a cable, broadcast, telecommunications,packet-switched or other network to a user's home that is equipped witha consumer electronics device for at least displaying the programmingcontent, the method comprising: a) providing the consumer electronicdevice with data synchronized to the programming, wherein the data atleast comprises varying content data; b) inputting the user's controlsettings that describe the type of programming the user desires tomodify; and c) modifying the programming according to the user's controlsettings and displaying the modified programming to the user.
 25. Themethod of claim 24 in which the modifying step is performed by using aDVR device dynamically to store and edit the programming in order toseamlessly display the modified programming to the user.
 26. The methodof claim 24 in which the content data is delivered to the user'sconsumer electronic device via the signal that carries ElectronicProgram Guide data.
 27. The method of claim 24 further comprising thestep of determining whether to display a particular program by comparingall content data associated with the particular program to the user'scontrol settings and a preset threshold.
 28. The method of claim 27 inwhich the comparing step further comprises the step of determining theamount of the particular program to be blocked and comparing that amountto a preset threshold.